package com.shuda.business.user.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.shuda.business.user.entity.MenuEntity;

import java.util.List;

/**
 * 菜单服务接口
 */
public interface MenuService extends IService<MenuEntity> {

    /** 根据条件获取菜单列表 */
    List<MenuEntity> getMenuList(QueryWrapper<MenuEntity> queryWrapper);

    /** 根据角色ID获取菜单列表 */
    List<MenuEntity> getMenuListByRoleId(Long roleId);

    /** 获取菜单树 */
    List<MenuEntity> getMenuTree();

    /** 根据角色ID获取菜单树 */
    List<MenuEntity> getMenuTreeByRoleId(Long roleId);

    /** 创建菜单 */
    void createMenu(MenuEntity menu);

    /** 更新菜单 */
    void updateMenu(MenuEntity menu);

    /** 删除菜单 */
    void deleteMenu(Long id);

    /** 更新菜单状态 */
    void updateMenuStatus(Long id, String status);

    /** 批量更新菜单排序 */
    void updateMenuSort(List<MenuEntity> menus);
}